use [totem]
go
create procedure [dbo].[SetInvolucradoProyecto]
@proyecto int,
@idInvolucrado int,
@idCliente int
as

BEGIN
	set nocount on;
	declare @cuenta int
    declare @idRol int
	/*CONTAR CUANTOS PROYECTOS TIENE EL INVOLUCRADO*/
	SELECT @cuenta=COUNT(IP.PER_IDPERSONA)
	FROM PROYECTO_INVOLUCRADO AS IP
	WHERE IP.PER_IDPERSONA=@idInvolucrado
	GROUP BY(IP.PER_IDPERSONA)
	
	/*INSERTA UN INVOLUCRADO EN PROYECTO_INVOLUCRADO CUANDO NO ES POR PRIMERA VEZ*/
	If (@cuenta<>1)
	begin
			SELECT  @idRol =ID_ROL      
			FROM PROYECTO_INVOLUCRADO
			Where PER_IDPERSONA = @idInvolucrado
		
			INSERT INTO [totem].[dbo].[PROYECTO_INVOLUCRADO]
           ([ID_ROL]
           ,[IDPROYECTO]
           ,[IDPERSONA]
           ,[PER_IDPERSONA]
           ,[PER_IDPERSONA2])
			VALUES (@idRol,@proyecto,@idCliente,@idInvolucrado,NULL)
	end
	ELSE IF(@cuenta=1)
	begin
	/*PARA SABER SI EL INVOLUCRADO YA ESTA RELACIONADO BUSCAMOS LA RELACION ENTRE ID_INVOLUCRADO Y ID_PROYECTO*/
		IF(SELECT ISNULL(IDPROYECTO,0) FROM PROYECTO_INVOLUCRADO WHERE @idInvolucrado=PER_IDPERSONA)!=0
		begin
			
			SELECT  @idRol = [ID_ROL] 
      
			FROM [totem].[dbo].[PROYECTO_INVOLUCRADO]	
			Where [PER_IDPERSONA] = @idInvolucrado
		
			INSERT INTO [totem].[dbo].[PROYECTO_INVOLUCRADO]
           ([ID_ROL]
           ,[IDPROYECTO]
           ,[IDPERSONA]
           ,[PER_IDPERSONA]
           ,[PER_IDPERSONA2])
			VALUES (@idRol,@proyecto,@idCliente,@idInvolucrado,NULL)
		end
		ELSE
		begin
			UPDATE [totem].[dbo].[PROYECTO_INVOLUCRADO]
			SET 
			[IDPROYECTO] = @proyecto
			,[IDPERSONA] = @idCliente
			WHERE [PER_IDPERSONA] = @idInvolucrado
		end
		
	end
	
END; 